int solve(string nums)
{
    int len = nums.size();
    int* dp = new int[len + 1];
    if (nums[0] > '0')
    {
        dp[1] = 1;
    }

    dp[0] = 1;
    for (int i = 1; i < len; i++)
    {
        int t1 = nums[i - 1] - '0';
        int t2 = nums[i] - '0';
        int temp = t1 * 10 + t2;
        if (t2 == 0)
        {
            if (temp >= 10 && temp <= 26)
            {
                dp[i + 1] = dp[i];
            }

        }
        else
        {
            if (temp >= 10 && temp <= 26)
            {
                dp[i + 1] = dp[i - 1] + dp[i];
            }
            else
            {
                dp[i + 1] = dp[i];
            }
        }
    }

    return dp[len];
}